package edu.qqilin.springframework.beans.factory.config;

import edu.qqilin.springframework.beans.PropertyValues;

/**
 * Description: 核心类。Bean 的定义信息（图纸）。
 * <p>
 * 以前只存一个 Object bean，现在存 Class beanClass（类信息）和 PropertyValues（属性信息）
 * 用于告诉工厂怎么实例化这个 Bean。
 * @author qqilin1213
 * @version 1.0
 * @date 2025/11/22 15:26
 */
public class BeanDefinition {
    private final Class beanClass;
    private final PropertyValues propertyValues;

    public BeanDefinition(Class beanClass) {
        this.beanClass = beanClass;
        this.propertyValues = new PropertyValues();
    }

    public BeanDefinition(Class beanClass, PropertyValues propertyValues) {
        this.beanClass = beanClass;
        this.propertyValues = propertyValues != null ? propertyValues : new PropertyValues();
    }

    public Class getBeanClass() {
        return beanClass;
    }
    public PropertyValues getPropertyValues() {
        return propertyValues;
    }

}
